// 配置文件，负责管理后端服务地址
const config = {
  // 本地开发环境地址
  local: {
    baseURL: 'http://localhost:8084'
  },
  // 生产环境地址
  production: {
    baseURL: 'http://mytoolsadmin.yutang1314.fun:9000'
  },
  // 当前环境，默认为本地环境
  env: '' // 空字符串表示需要自动检测
}

// 自动检测环境
function detectEnv() {
  // 如果通过环境变量指定了生产环境，则使用生产环境
  if (typeof process !== 'undefined' && process.env && process.env.NODE_ENV === 'production') {
    return 'production';
  }
  
  // 在H5环境中通过域名判断
  if (typeof window !== 'undefined' && window.location) {
    const hostname = window.location.hostname;
    // 如果不是本地域名，则认为是生产环境
    if (hostname !== 'localhost' && hostname !== '127.0.0.1' && !hostname.includes('local')) {
      return 'production';
    }
  }
  
  // 默认返回本地环境
  return 'local';
}

// 根据当前环境获取基础URL
export function getBaseURL() {
  // 如果没有手动设置环境，则自动检测环境
  if (!config.env) {
    config.env = detectEnv();
  }
  
  // 确保环境配置存在
  if (!config[config.env]) {
    console.warn(`Environment ${config.env} configuration not found, using local environment`);
    config.env = 'local';
  }
  
  return config[config.env].baseURL;
}

// 设置当前环境
export function setEnv(env) {
  if (config[env]) {
    config.env = env;
  } else {
    console.warn(`Environment ${env} not found, using default local environment`);
  }
}

export default config;